{
  "owners": ["jarin@chromium.org", "mvstanton@chromium.org"],
  "name": "JSTests",
  "run_count": 3,
  "run_count_arm": 1,
  "run_count_arm64": 1,
  "timeout": 120,
  "timeout_arm64": 240,
  "units": "score",
  "total": true,
  "resources": ["base.js"],
  "tests": [
    {
      "name": "Operators",
      "path": ["Operators"],
      "main": "run.js",
      "resources": [
        "run.js",
        "abstract-equality.js"
      ],
      "results_regexp": "^Operators\\-%s\\(Score\\): (.+)$",
      "tests": [
        {"name": "Equal-SmiNumber"},
        {"name": "Equal-SmiOddball"},
        {"name": "Equal-NumberOddball"},
        {"name": "Equal-OddballOddball"}
      ]
    },
    {
      "name": "Collections",
      "path": ["Collections"],
      "main": "run.js",
      "resources": [
        "common.js",
        "map.js",
        "run.js",
        "set.js",
        "weakmap.js",
        "weakset.js"
      ],
      "results_regexp": "^%s\\-Collections\\(Score\\): (.+)$",
      "tests": [
        {"name": "Map-Smi"},
        {"name": "Map-String"},
        {"name": "Map-Object"},
        {"name": "Map-Object-Set-Get-Large"},
        {"name": "Map-Double"},
        {"name": "Map-Iteration"},
        {"name": "Map-Iterator"},
        {"name": "Set-Smi"},
        {"name": "Set-String"},
        {"name": "Set-Object"},
        {"name": "Set-Double"},
        {"name": "Set-Iteration"},
        {"name": "Set-Iterator"},
        {"name": "WeakMap"},
        {"name": "WeakMap-Constructor"},
        {"name": "WeakMapSetGet-Large"},
        {"name": "WeakMapSet-Huge"},
        {"name": "WeakSet"},
        {"name": "WeakSet-Constructor"}
      ]
    },
    {
      "name": "BigInt",
      "path": ["BigInt"],
      "tests": [
        {
          "name": "Shift",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["shift.js", "bigint-util.js"],
          "test_flags": ["shift"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "ShiftLeft-Small" },
            { "name": "ShiftLeft-Random" },
            { "name": "ShiftLeft-Growing" },
            { "name": "ShiftRight-Maximum" },
            { "name": "ShiftRight-ToZero" },
            { "name": "ShiftRight-Small" },
            { "name": "ShiftRight-Random" },
            { "name": "ShiftRight-Shrinking" }
          ]
        },
        {
          "name": "ToBoolean",
          "main": "run.js",
          "resources": ["to-boolean.js"],
          "test_flags": ["to-boolean"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "ToBoolean" },
            { "name": "BooleanConstructor" },
            { "name": "NewBooleanConstructor" }
          ]
        },
        {
          "name": "Add",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["add.js", "bigint-util.js"],
          "test_flags": ["add"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "Add-Zero" },
            { "name": "Add-SameSign-32" },
            { "name": "Add-DifferentSign-32" },
            { "name": "Add-SameSign-64" },
            { "name": "Add-DifferentSign-64" },
            { "name": "Add-SameSign-1024" },
            { "name": "Add-DifferentSign-1024" },
            { "name": "Add-SameSign-8192" },
            { "name": "Add-DifferentSign-8192" },
            { "name": "Add-Random" }
          ]
        },
        {
          "name": "Subtract",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["subtract.js", "bigint-util.js"],
          "test_flags": ["subtract"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "Subtract-Zero" },
            { "name": "Subtract-SameSign-32" },
            { "name": "Subtract-DifferentSign-32" },
            { "name": "Subtract-SameSign-64" },
            { "name": "Subtract-DifferentSign-64" },
            { "name": "Subtract-SameSign-1024" },
            { "name": "Subtract-DifferentSign-1024" },
            { "name": "Subtract-SameSign-8192" },
            { "name": "Subtract-DifferentSign-8192" },
            { "name": "Subtract-Random" }
          ]
        },
        {
          "name": "Multiply",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["multiply.js", "bigint-util.js"],
          "test_flags": ["multiply"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "Multiply-Zero" },
            { "name": "Multiply-Small"},
            { "name": "Multiply-Small-Truncated" },
            { "name": "Multiply-Random" }
          ]
        },
        {
          "name": "Divide",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["divide.js", "bigint-util.js"],
          "test_flags": ["divide"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "Divide-One" },
            { "name": "Divide-Small"},
            { "name": "Divide-Small-Truncated" },
            { "name": "Divide-Random" }
          ]
        },
        {
          "name": "BitwiseAnd",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["bitwise-and.js", "bigint-util.js"],
          "test_flags": ["bitwise-and"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "BitwiseAnd-Zero" },
            { "name": "BitwiseAnd-Small" },
            { "name": "BitwiseAnd-Small-Truncated" },
            { "name": "BitwiseAnd-Random" }
          ]
        },
        {
          "name": "AsUintN",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["as-uint-n.js", "bigint-util.js"],
          "test_flags": ["as-uint-n"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "AsUint64-32" },
            { "name": "AsUint64-64" },
            { "name": "AsUint64-128" },
            { "name": "AsUint64-256" },
            { "name": "AsUint32-32" },
            { "name": "AsUint32-64" },
            { "name": "AsUint32-128" },
            { "name": "AsUint32-256" },
            { "name": "AsUint8-32" },
            { "name": "AsUint8-64" },
            { "name": "AsUint8-128" },
            { "name": "AsUint8-256" }
          ]
        },
        {
          "name": "AsIntN",
          "main": "run.js",
          "flags": ["--allow-natives-syntax"],
          "resources": ["as-int-n.js", "bigint-util.js"],
          "test_flags": ["as-int-n"],
          "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
          "tests": [
            { "name": "AsInt64-32" },
            { "name": "AsInt64-64" },
            { "name": "AsInt64-128" },
            { "name": "AsInt64-256" },
            { "name": "AsInt32-32" },
            { "name": "AsInt32-64" },
            { "name": "AsInt32-128" },
            { "name": "AsInt32-256" },
            { "name": "AsInt8-32" },
            { "name": "AsInt8-64" },
            { "name": "AsInt8-128" },
            { "name": "AsInt8-256" }
          ]
        }
      ]
    },
    {
      "name": "BigInt-Jitless",
      "path": ["BigInt"],
      "main": "run.js",
      "resources": [
        "to-boolean.js"
      ],
      "flags": ["--jitless"],
      "results_regexp": "^BigInt\\-%s\\(Score\\): (.+)$",
      "test_flags": ["to-boolean"],
      "tests": [
        { "name": "ToBoolean" },
        { "name": "BooleanConstructor" },
        { "name": "NewBooleanConstructor" }
      ]
    },
    {
      "name": "TypedArrays",
      "path": ["TypedArrays"],
      "results_regexp": "^TypedArrays\\-%s\\(Score\\): (.+)$",
      "tests": [
        {
          "name": "CopyWithin",
          "main": "run.js",
          "resources": ["copywithin.js"],
          "test_flags": ["copywithin"]
        },
        {
          "name": "Constructor",
          "main": "run.js",
          "resources": ["constructor.js"],
          "test_flags": ["constructor"]
        },
        {
          "name": "ConstructWithBuffer",
          "main": "run.js",
          "resources": ["construct-buffer.js"],
          "test_flags": ["construct-buffer"]
        },
        {
          "name": "ConstructArrayLike",
          "main": "run.js",
          "resources": ["construct-arraylike.js"],
          "test_flags": ["construct-arraylike"]
        },
        {
          "name": "ConstructByTypedArray",
          "main": "run.js",
          "resources": ["construct-typedarray.js"],
          "test_flags": ["construct-typedarray"]
        },
        {
          "name": "ConstructBySameTypedArray",
          "main": "run.js",
          "resources": ["construct-same-typedarray.js"],
          "test_flags": ["construct-same-typedarray"]
        },
        {
          "name": "ConstructAllTypedArrays",
          "main": "run.js",
          "resources": ["construct-all-typedarrays.js"],
          "test_flags": ["construct-all-typedarrays"]
        },
        {
          "name": "FilterNoSpecies",
          "main": "run.js",
          "resources": ["filter-nospecies.js"],
          "test_flags": ["filter-nospecies"],
          "results_regexp": "^TypedArrays\\-%s\\(Score\\): (.+)$",
          "tests": [
            {"name": "Uint8Array"},
            {"name": "Uint16Array"},
            {"name": "Uint32Array"},
            {"name": "Float32Array"},
            {"name": "Float64Array"}
          ]
        },
        {
          "name": "JoinBigIntTypes",
          "main": "run.js",
          "resources": ["base.js", "join.js", "join-bigint.js"],
          "test_flags": ["join-bigint"]
        },
        {
          "name": "JoinFloatTypes",
          "main": "run.js",
          "resources": ["base.js", "join.js", "join-float.js"],
          "test_flags": ["join-float"]
        },
        {
          "name": "JoinIntTypes",
          "main": "run.js",
          "resources": ["base.js", "join.js", "join-int.js"],
          "test_flags": ["join-int"]
        },
        {
          "name": "JoinWithSeparatorBigIntTypes",
          "main": "run.js",
          "resources": ["base.js", "join.js", "join-sep-bigint.js"],
          "test_flags": ["join-sep-bigint"]
        },
        {
          "name": "JoinWithSeparatorFloatTypes",
          "main": "run.js",
          "resources": ["base.js", "join.js", "join-sep-float.js"],
          "test_flags": ["join-sep-float"]
        },
        {
          "name": "JoinWithSeparatorIntTypes",
          "main": "run.js",
          "resources": ["base.js", "join.js", "join-sep-int.js"],
          "test_flags": ["join-sep-int"]
        },
        {
          "name": "SetFromArrayLike",
          "main": "run.js",
          "resources": ["set-from-arraylike.js"],
          "test_flags": ["set-from-arraylike"]
        },
        {
          "name": "SetFromDifferentType",
          "main": "run.js",
          "resources": ["set-from-different-type.js"],
          "test_flags": ["set-from-different-type"]
        },
        {
          "name": "SetFromSameType",
          "main": "run.js",
          "resources": ["set-from-same-type.js"],
          "test_flags": ["set-from-same-type"]
        },
        {
          "name": "SliceNoSpecies",
          "main": "run.js",
          "resources": ["slice-nospecies.js"],
          "test_flags": ["slice-nospecies"]
        },
        {
          "name": "SortIntTypes",
          "main": "run.js",
          "resources": ["base.js", "sort.js", "sort-int.js"],
          "test_flags": ["sort-int"]
        },
        {
          "name": "SortBigIntTypes",
          "main": "run.js",
          "resources": ["base.js", "sort.js", "sort-bigint.js"],
          "test_flags": ["sort-bigint"]
        },
        {
          "name": "SortFloatTypes",
          "main": "run.js",
          "resources": ["base.js", "sort.js", "sort-float.js"],
          "test_flags": ["sort-float"]
        },
        {
          "name": "SortCustomCompareFnIntTypes",
          "main": "run.js",
          "resources": ["base.js", "sort.js", "sort-cmpfn-int.js"],
          "test_flags": ["sort-cmpfn-int"]
        },
        {
          "name": "SortCustomCompareFnBigIntTypes",
          "main": "run.js",
          "resources": ["base.js", "sort.js", "sort-cmpfn-bigint.js"],
          "test_flags": ["sort-cmpfn-bigint"]
        },
        {
          "name": "SortCustomCompareFnFloatTypes",
          "main": "run.js",
          "resources": ["base.js", "sort.js", "sort-cmpfn-float.js"],
          "test_flags": ["sort-cmpfn-float"]
        },
        {
          "name": "SubarrayNoSpecies",
          "main": "run.js",
          "resources": ["subarray-nospecies.js"],
          "test_flags": ["subarray-nospecies"]
        }
      ]
    }
  ]
}
